package com.hxs.hxsserver.domain.dto.device;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author liuchuan
 * @create 2024/9/26
 */

/**
 * 设备表
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceDTO {
    private int id;

    /**
     * 设备IP地址
     */
    @ApiModelProperty(value = "设备IP地址")
    private String deviceIpAddr;

    /**
     * 设备硬件地址码，长度十位
     */
    @ApiModelProperty(value = "设备硬件地址码，长度十位")
    private String deviceHardwareAddr;
    /**
     * 设备端口
     */
    @ApiModelProperty(value = "设备端口")
    private String devicePort;

    /**
     * 设备状态，1是在线，0是离线
     */
    @ApiModelProperty(value = "设备状态，1是在线，0是离线")
    private Integer deviceStatus;

    /**
     * 心跳数据
     */
    @ApiModelProperty(value = "心跳数据")
    private String heartbeatData;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Integer userId;

    /**
     * 离线判断间隔, 单位分钟
     */
    @ApiModelProperty(value = "离线判断间隔, 单位分钟")
    private Integer offlineJudgmentInterval;

    /**
     * 保存数据间隔，单位 分钟
     */
    @ApiModelProperty(value = "保存数据间隔，单位 分钟")
    private Integer saveDataInterval;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    /**
     * 文件夹id
     */
    @ApiModelProperty(value = "文件夹id")
    private String folderId;

    /**
     * 经纬度，逗号隔开
     */
    @ApiModelProperty(value = "经纬度，逗号隔开")
     private String deviceGps;

    /**
     * iccid
     */
    @ApiModelProperty(value = "iccid")
     private String iccid;

    private Date createTime;

    @ApiModelProperty("最近一次上线时间")
    private Date lastOnlineTime;

    @ApiModelProperty("最近一次离线时间")
    private Date lastOfflineTime;

    /**
     * 文件夹id
     */
    @ApiModelProperty(value = "报警联系人id")
    private Integer alarmUserId;

    @ApiModelProperty(value = "排序")
    private int sort;

    /**
     * 更新时间
     */
    private Date updateTime;
}